/*
   Pixcen - A windows platform low level pixel editor for C64
   Copyright (C) 2013  John Hammarberg (crt@nospam.censordesign.com)
   
    This file is part of Pixcen.

    Pixcen is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Pixcen is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Pixcen.  If not, see <http://www.gnu.org/licenses/>.
*/


#pragma once

#define UM_GRAPHIX			WM_USER+0

//Generated by palette or cell control or when a selection is done
#define MSG_PAL_SEL_COL		0

//Generated by view when mouse moving
#define MSG_STATUS_TEXT		1

//Generated by view when mouse moving over cell
#define MSG_CELL_INFO		2		

//Generated by cell control when a color changed
#define MSG_CELL_COL		3

//Generated by preview when being closed
#define MSG_PREV_CLOSE		4

//Generated by view after painting or loading
#define MSG_REFRESH			5

//Generated by frame if there is a command line argument
#define MSG_LOAD			6

//Generated by view on PAR change
#define MSG_PREV_PAR		7

//Generated by ciew on title change
#define MSG_FILE_TITLE		8

//Generated by preview on left click/move
#define MSG_PREV_REPOS		9

//Generated by cell control for remap
#define MSG_CELL_REMAP_CLICK	10

//Generated by cell control for remap
#define MSG_CELL_REMAP_QUERY	11

//Generated by cell control for remap
#define MSG_CELL_REMAP		12

class GraphixMail
{
public:
	GraphixMail(){}
	virtual ~GraphixMail(){}

	static void Mail(unsigned short message, UINT_PTR data=NULL, unsigned short extra=0)
	{
		AfxGetApp()->GetMainWnd()->PostMessage(UM_GRAPHIX, WPARAM(data), LPARAM(message | extra << 16));
	}

	//virtual void Receive(unsigned short message, UINT_PTR data, unsigned short extra)=NULL;

};